#pragma once

#include "IDevice.h"

namespace sol9
{
namespace device
{

	class DeviceStub : public IDevice
	{
		__declareClass(DeviceStub);

	protected:
		SDeviceParameters m_Parameters;
		bool m_bClose;
		IEventReceiver* m_pEventReceiver;

	public:
		DeviceStub(const SDeviceParameters& Params);
		virtual ~DeviceStub();

		virtual bool run();
		virtual void close();

		virtual bool postEventFromUser(const SEvent& event);
		virtual void setEventReceiver(IEventReceiver* pReceiver);
		virtual IEventReceiver* getEventReceiver();

		virtual bool isFullscreen() const;
		virtual eDeviceTypes getType() const;
	};

} // namespace device
} // namespace sol9